<%@page contentType="text/html;charset=utf-8" language="java" %>
<!--
Jsp是Java Server Pages
允许在页面中使用java作为脚本语言
动态生成 HTMl代码
jsp首先 和 html的区别:
html 可以直接放在浏览器中 运行
但是jsp必须把tomcat启动起来才能看到效果

JSP页面由以下几部分组成
1.静态内容
2.指令
3.表达式
4.脚本
5.声明
6.注释
<!--
1.注释:

第一种: 跟html注释一样,这里就是第一种
在客户端 可以看见
-->

<%--
这里是 第二种 jsp注释
在客户端看不见,在编译时,会被干掉
--%>

// 标准java注释
/*这里也是java注释
这种注释只能写在jsp脚本中
*/
<%--
jsp指令
jsp页面可以在最上方 加入一些 当前页面的配置的信息
叫做jsp指令,
jsp指令 一共有3个
page:当前页面的配置信息,最为常用的
include:在一个页面中,将另一个文件嵌入其中
taglib:引入标签库,这个基本不会讲了


Page指令:
语法:
<%@page 属性1="属性值"  属性2="属性值"....%>
常见属性:
1.language:指定 当前jsp压面锁使用的脚本语言,默认值是Java
2.import:引包,当页面中使用到其他包下的Java类时,使用该属性引包
3.contentType:为页面添加响应头 contentType ,默认值是:
text/html;Isp-8859-1 ,我们需要改成utf-8
4.pageEncoding:设置当前页面的编码模式,默认值是 iso-885901,如果
设置了 contentType,那么久会跟contentType 保持一致,不需要单独设置
5.errorPage:当前页面出错了,浏览器会自动跳转到哪个页面,
只能决定当前这个jsp出错行为,我们一般会使用web.xml统一配置整个项目的
出错页面,而不会一个jsp一个jsp的配置
6.isErrorPage:是否是 专门处理错误信息的页面,标记为true后
可以使用jsp 九大内置对象中的Exception
--%>
<%--jsp脚本--%>

<%
    //在这里写java代码
    //可以写任何java代码,但是不能够定义方法,全局变量
    //所有的jsp脚本会原样 复制进_jspService方法中
    /*
    里面只能写java代码,
    并且所有jsp脚本,都会和 html代码混合复制进_jspService方法中
    所以不需要再一个脚本中写一段完整的java代码,示例看test01,table隔行换色
     */
%>
<%--
静态内容,所有直接写在jsp文件中的
没有被任何jsp标签 包裹的 都是静态内容
即所有的html代码 就是静态内容
--%>
<%--
声明:用来写自定义方法,成员变量的
见test02
--%>
<%--
表达式
表达式是在html代码中使用声明中定义的全局变量
或jsp脚本中定义的局部变量 而存在的
即表达式是没有逻辑,只能取值用的
--%>